home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Taifun
/
Taifun 099 (1989-05-15)(Ossowski, Stefan)(DE)(PD).zip
/
Taifun 099 (1989-05-15)(Ossowski, Stefan)(DE)(PD).adf
/
PCQ
/
Runtime
/
readonechar.asm
< prev
next >
Wrap
Assembly Source File
|
1989-03-31
|
700b
|
40 lines
* ReadOneChar.asm (of PCQ Pascal runtime library)
* Copyright (c) 1989 Patrick Quaid
* This module implements a simple buffering scheme for
* standard in. We don't always buffer a character- we only buffer
* one when we have read one too many.
SECTION ONE
XREF stdinbuffed
XREF stdinbuffer
XREF _stdin
XREF _p%DOSBase
XREF _LVORead
XDEF _p%readonechar
_p%readonechar
tst.b stdinbuffed
beq.s 1$
move.b #0,stdinbuffed
rts
1$ movem.l d1-d3,-(sp)
move.l _stdin,d1
move.l #stdinbuffer,d2
move.l #1,d3
move.l _p%DOSBase,a6
jsr _LVORead(a6)
move.b #-1,stdinbuffed
movem.l (sp)+,d1-d3
rts
XDEF _p%getthatchar
_p%getthatchar
move.b stdinbuffer,d0
move.b #0,stdinbuffed
rts
END